package org.company.ci.actions;

import java.util.ArrayList;

import org.company.ci.domain.Anaquel;
import org.company.ci.domain.Seccion;
import org.company.ci.services.AnaquelService;
import org.company.ci.services.SeccionService;

public class SeccionAction extends AppSecurityActionSupport {
	
	private SeccionService seccionService;
	
	private AnaquelService anaquelService;
	
	private Anaquel anaquel;
	
	private Seccion seccion;
	
	private ArrayList<Anaquel> anaquelList;
	
	private ArrayList<Seccion> seccionList;
	
	public String agregarSeccion() throws Exception {
		if (seccion.getNombre().isEmpty()) {
			addFieldError("seccion.nombre", "El nombre no debe estar vacio");
			return INPUT;
		}
		
		seccion.setAnaquel(anaquel);
		
		seccionService.saveOrEditSeccion(seccion);
		
		seccion = new Seccion();
		
		return "success";
	}
	
	public void validate(){
		clearFieldErrors();
	}
	
	public String editarSeccion() throws Exception {
		if (!existUserSession()) {
			System.out.println("Usuario no Autorizado se redirecciona ");
			return ACCESS_DENIED;
		}
		
		Seccion seccionBD = seccionService.getSeccionById(seccion.getIdSeccion());
		
		setSeccion(seccionBD);
		
		anaquelList = anaquelService.getListAnaqueles();
		
		setAnaquel(seccion.getAnaquel());
		
		return "success";
	}
	
	public String eliminarSeccion() {
		try {
			seccionService.deleteSeccion(seccion);
			
			seccion = new Seccion();
		} catch (Exception e) {
			setMessage(e.getMessage());
			return "error1";
		}
		
		
		
		return "success";
	}
	
	public String listarSecciones() throws Exception {
		if (!existUserSession()) {
			System.out.println("Usuario no Autorizado se redirecciona ");
			return ACCESS_DENIED;
		}
		
		seccionList = seccionService.getListSecciones();
		
		return "success";
	}
	
	public String nuevaSeccion() throws Exception {
		if (!existUserSession()) {
			System.out.println("Usuario no Autorizado se redirecciona ");
			return ACCESS_DENIED;
		}
		
		anaquelList = anaquelService.getListAnaqueles();
		seccion = new Seccion();
		anaquel = new Anaquel();
		
		return "success";
	}

	public String accederSecciones(){
		if (!existUserSession()) {
			System.out.println("Usuario no Autorizado se redirecciona ");
			return ACCESS_DENIED;
		}
		
		return "success";
	}
	
	public AnaquelService getAnaquelService() {
		return anaquelService;
	}

	public void setAnaquelService(AnaquelService anaquelService) {
		this.anaquelService = anaquelService;
	}

	public Anaquel getAnaquel() {
		return anaquel;
	}

	public void setAnaquel(Anaquel anaquel) {
		this.anaquel = anaquel;
	}

	public ArrayList<Anaquel> getAnaquelList() {
		return anaquelList;
	}

	public void setAnaquelList(ArrayList<Anaquel> anaquelList) {
		this.anaquelList = anaquelList;
	}

	public SeccionService getSeccionService() {
		return seccionService;
	}

	public void setSeccionService(SeccionService seccionService) {
		this.seccionService = seccionService;
	}

	public Seccion getSeccion() {
		return seccion;
	}

	public void setSeccion(Seccion seccion) {
		this.seccion = seccion;
	}

	public ArrayList<Seccion> getSeccionList() {
		return seccionList;
	}

	public void setSeccionList(ArrayList<Seccion> seccionList) {
		this.seccionList = seccionList;
	}

}
